/**
 * Classe IdFonc: dérive de la classe Ident pour créer des identificateurs liés à chaque fonction
 * 
 * @author BlobbyCompiloTeam
 *
 */

import java.util.Vector;


public class IdFonc extends Ident implements GramConstants{
	
	private Vector<Integer> listTypePara;
	
	/**
	 * Constructeur
	 * @param _type le type de retour de la fonction
	 */
	public IdFonc(int _type){
		super(_type, natFonc);
		listTypePara = new Vector<Integer>();
	}
	
	/**
	 * Ajoute le type du paramètre dans la liste courante
	 * @param type le type du paramètre à ajouter
	 */
	public void ajoutList(int type){
		listTypePara.add(type);
	}
	
	/**
	 * Retourne le type du parametre selon sa position
	 * @param position la position dans la liste à observer
	 * @return int le type
	 */
	public int getTypePara(int position){
		if (position<0 && position >= listTypePara.size()){
			return typeErreur;
		}
		return listTypePara.get(position);
	}
	
	/**
	 * nombre de paramètres dans une fonction
	 * @return int nombre de paramètres
	 */
	public int nombrePara(){
		return listTypePara.size();
	}
	
}
